V10. 2.05 -> 2.21
  The following notes describe the changes made in updating the ViewIt product from version 2.05 to 2.21. If upgrading from a version less than 2.2, be certain to read all of these notes since some changes may be required to your existing code.

Version 2.2 -> 2.21

• FaceIt now opens a default "splash screen" when DoInit is called.  You can replace this splash screen with your own (see "Window Initialization" subtopic in "Initializations" topic in FaceIt guide), or stop the display of any splash screen by adding 32 to parameter c when calling DoInit.

• Adapted ViewIt startup code to work around a bug in the CPU product (Connectix PowerBook Utilities) which caused a crash when opening ViewIt windows on a PowerBook if the "Keyboard Dialogs" part of CPU was enabled.

Version 2.07 -> 2.2
Version 2.2 of ViewIt is a major upgrade.  Owners of ViewIt 2.0 can upgrade to 2.2 for $40.

• Your programs must be recompiled using the new FaceProcXY and FaceStorXY include files.  If you don't do this, then LoadIt will complain about not being able to find version 2.0 code.

• The first set of changes were made to streamline ViewIt and FaceIt by removing obsolete features.  Most of these changes will only affect programs developed prior to 1993:

- FaceIt no longer supports the old "It" modules:  GrafIt, TextIt, ShowIt, and DialIt.  If you've been delaying upgrading these old windows to GrafCt, TextCt, and ShowCt controls within ViewIt windows, then you'll have to do that now in order to make use of ViewIt 2.2 and later versions.

- Although the old "picture palette" menus are still supported, the documentation for these has been removed from the FaceIt guide, and MDEF 1111, WDEF 1111, and PAT 1111 have been removed from the FaceWare file.  If you have existing programs that make use of picture palettes, simply copy these resources back into the new FaceWare file or your program's resource file to continue to make use of the picture palettes.  Eventually consider replacing picture palettes with the new ViewIt menu windows and floating windows described below.  WARNING:  If you launch a program with MENU resources that refer to MDEF 1111 and that MDEF is not present, then a crash will occur.

- FaceIt's support for auto-initialization of windows via STR# 1000 when calling DoInit has been eliminated.  If you were relying on STR# 1000 to auto-open windows, simply add the corresponding NewWnd calls to your program after DoInit to open the same windows.

- FaceIt's DoAuto2 command was eliminated.

- FaceIt no longer puts font names in STR# 1106 when DoInit is called.

- The old UtilIt and BaseVw modules have been made a part of ViewIt (so you don't need to worry about adding these to finished programs).

- The new FaceWare file no longer contains undocumented versions of TextCt, GrafCt, and ArrayCt since the presence of these modules was confusing to programmers who had not purchased the EditControls product.  To make use of these modules, use MoveIt to move version 2.2 of these back into the new FaceWare file.

• The remaining changes are enhancements to ViewIt:

- The NewWnd command was enhanced to support the creation of floating- and alert-type windows.  See NewWnd in the "Window Commands" topic and the "Windows" topic in the ViewIt guide for further information.

- Any modeless or floating ViewIt window can now be displayed as a pull-down, pop-up, or hierarchical menu that can be optionally torn off.  This feature plus the support for floating windows makes the old "picture palette" menus obsolete.  See "Menu Windows" in the "Windows" topic of the ViewIt guide for further information.  The "fDemoXY" program has also been updated to illustrate how the new menu and floating windows can replace the old picture palettes.

- The "Init. Hidden" option in ViewIt's Window dialog has been changed to "Close = Hide" (hit in close box hides the window).  If you were relying on "Init. Hidden" to keep windows hidden on initialization, then uncheck this option in the Window dialog and change your NewWnd calls to pass -FWND ID to keep the windows hidden.

- The HitCtl command was added to simulate hits in buttons, check boxes, and radio buttons.  See HitCtl in the "Control Commands" topic for further info.

- The DrwCtl command was enhanced to support redrawing all controls in a window.  See DrwCtl in the "Control Commands" topic for further info.

- The ChgCur command now supports passing the ID number of both CURS and crsr (color cursor) resources.

- ViewIt now supports the use of alternative characters for the decimal point in strings returned by NumToS or processed by SToNum.  This support is based upon international resource settings, but, if working under System ≥ 7.1, you can test this support via the "Numbers" control panel.

- On-line resource editing from within the Control dialog was enhanced by also copying any "TMPL" template resource for the type being edited to the temporary resource file that is passed to ResEdit or Resorcerer.  This allows you, for example, to edit the LST1 resource used with ListCt controls from within the Control dialog and immediately see the effects of changes.

Version 2.06 -> 2.07

• "Allow Modal Switch" option was added to the Window dialog.  If set, then the user can switch programs even if the window is opened as a modal window.  This feature requires System ≥ 7.0.  See the Window dialog's on-line help for further info.  (All of ViewIt's built-in editing dialogs now have this flag set, making it much easier to copy/paste resources between programs.)

• The Control dialog now includes a pull-down menu in its "Res Link" section that supports on-line editing of linked resources.  If FaceIt and System ≥ 7.0 are in use, then the linked resource can even be edited with ResEdit or Resorcerer without quitting the program.  See Control dialog's on-line help for further info.

• The old FaceIt DoInit option to support opening and printing files "from the Finder" (a = 512) is now always enabled (i.e., FaceIt now always generates a message for files that the user attempts to open or print from Finder), so you can remove this bit value from a in DoInit within existing programs.  This and other changes were made to improve Apple event handling.

• Pop-up palettes supported by BaseCt can now be popped up at the right or left of the control by adding 8 to the VarCode.

• The "Color Picker" pop-up palette now pops up a palette with colors from the System color table corresponding to the deepest screen that intersects the control rectangle (versus using the program-wide color palette).  If the screen depth is greater than 4, however, then the 16-color System table is shown.  To show the 256-color System table, add 256 to the VarCode.  If you prefer the old behavior of having the program-wide palette displayed, add 512 to the control's VarCode.

• clut 1000 is no longer used by FaceIt/St to reset the program color palette on DoInit, and has been removed from all demo program resource files.  Programs continue to have program palettes, but the default color palette will consist of just black and white colors unless changed by the program (see SetPal2 command in "Color Utilities").

• The LoadIt module and MoveIt program were improved.  Use MoveIt 2.12 to move LoadIt 2.02 to all of your resource files that currently contain LoadIt 2.01.

Version 2.05 -> 2.06

• If ViewIt's on-line help and editing resources are available, then the ViewIt Help window (this window) is now auto-opened by FaceIt when DoInit is called (i.e., you no longer need to add a call to HlpWnd to make this happen).  You can disable this default behavior by adding 64 to parameter c when calling DoInit (see DoInit in the "Program Commands" topic and HlpWnd in the "Window Commands" topic).

• Many new features were added to the ViewIt Help window.  See the "Debugging Aids" subtopic in the "Getting Started" startup topic for a description of these new features.

• Edit mode improvements:
 - A new "Links" dialog is supported which displays a list of the data links and item IDs for all of the controls in the window, making it easier to see which controls have been linked, and to edit links and item IDs.
 - You can now drag across the icon menu bar at the bottom of the window to pop up successive menus.
 - When working in an editing dialog (Control, Bounds, etc.), you can now click in the underlying window to select controls (a new MdlWnd option was added to help support this).
 - OPTION-clicking on a hidden control/view in the controls bar will first hide any selected controls/views before showing the hidden control/view.

• The Escape key can now be associated with a command key combination.  See the new "Special Keys" subtopic in the "Windows" topic of the ViewIt guide.

• Standard CDEF-based dial controls marked as type "Dial" in the Control dialog now exhibit default behavior similar to that seen with BaseCt's dial controls.  See "CDEFs" in the "Drivers" menu for more information.  A new "1205 Std Dial" example FCTL can also be found in the import menu.

• A new "Static Line" and additional "3D" example controls were added to BaseCt (they appear in FCTL Import menu).

• The handling of BaseCt controls that display picts, icons, and other resources was improved:
 - Controls linked to PICT, ICON, CURS, PAT , or cicn resources can now display multiple resources without the use of an STR# resource.  To do this, simply set Min and Max equal to a range of resource ID numbers, where Min has the same value as that of the linked resource ID.  The new "cicn 3D" & "PICT Pop-Up" FCTL examples illustrate use of this new feature.
 - Bit value 16 can be added to the VarCode to force BaseCt to always display the control's title, even with controls that are set up to stretch the resource to fit the content area of the control.  Formerly, if bit value 32 was not used, then there was no way to display the control's title for these control types.
 - When initializing controls that are linked to an STR# list of resources, BaseCt now checks and resets the content area of the control to fit the resource size if Max V or H in the Bounds dialog is > 0.  Formerly, the resource was being stretched to fit the control's content area, regardless of the Bounds settings.
 - When using SetVal to update the contents of a linked picture or other resource (data type = 11), BaseCt now updates the content size of the control to fit the new picture if Max V or H in the Bounds dialog is > 0.

• Other bug fixes:
 - A Control dialog bug was fixed that caused selections from the "Behavior" menu to clobber the "Variable Type" entry on page 2 of the dialog.
 - A conflict with NOW Utilities WYSIWYG menus was resolved that would eventually cause a crash if menu controls with FSSC hierarchical menus were disposed of.
 - A fix was made for a standard CDEF bug that was preventing "TrackControl" from working properly when used in programs to support CDEF-based dial controls.
 - BaseCt list controls no longer "flash" when SetVal is called (unless the number of items in the list is changed).